ac69dba4f7a390581574355b6971f33795e058f9,markdown/src/main/java/com/zzhoujay/markdown/parser/MarkDownParser.java,MarkDownParser,findItalic,#SpannableStringBuilder#,229
Before Change
private SpannableStringBuilder findItalic(SpannableStringBuilder builder) {
Matcher matcher = patternItalic.matcher(builder);
while (matcher.find()) {
String content = matcher.group(3);
builder.delete(matcher.start(1), matcher.end(1));
builder.insert(matcher.start(1), styleBuilder.italic(content));
}
return builder;
}
After Change
private SpannableStringBuilder findItalic(SpannableStringBuilder builder) {
Matcher matcher = patternItalic.matcher(builder);
while (matcher.find()) {
int start = matcher.start(1);
int end = matcher.end(1);
if (checkInCode(builder, start, end)) {
continue;
}
SpannableStringBuilder sb = (SpannableStringBuilder) builder.subSequence(matcher.start(3), matcher.end(3));
builder.delete(matcher.start(1), matcher.end(1));
builder.insert(matcher.start(1), styleBuilder.italic(sb));
return findItalic(builder);
}
return builder;
}